<?xml version="1.0" encoding="UTF-8"?>
<jmeterTestPlan version="1.2" properties="3.2" jmeter="3.3 r1808647">
    <hashTree>
        <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="My Test Plan" enabled="true">
            <stringProp name="TestPlan.comments">Test Case Template</stringProp>
            <boolProp name="TestPlan.functional_mode">false</boolProp>
            <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
            <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel"
                         testclass="Arguments" testname="用户定义的变量" enabled="true">
                <collectionProp name="Arguments.arguments"/>
            </elementProp>
            <stringProp name="TestPlan.user_define_classpath"></stringProp>
        </TestPlan>
        <hashTree>
            <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Thread Group" enabled="true">
                <stringProp name="TestPlan.comments">Thread Group Tempalate</stringProp>
                <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
                <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel"
                             testclass="LoopController" testname="循环控制器" enabled="true">
                    <boolProp name="LoopController.continue_forever">false</boolProp>
                    <stringProp name="LoopController.loops">${data.threadGroup.loops!"10"}</stringProp>
                </elementProp>
                <stringProp name="ThreadGroup.num_threads">${data.threadGroup.threadNums!"100"}</stringProp>
                <stringProp name="ThreadGroup.ramp_time">${data.threadGroup.rampTime!"1"}</stringProp>
                <longProp name="ThreadGroup.start_time">1554963334000</longProp>
                <longProp name="ThreadGroup.end_time">1554963334000</longProp>
                <boolProp name="ThreadGroup.scheduler">false</boolProp>
                <stringProp name="ThreadGroup.duration"></stringProp>
                <stringProp name="ThreadGroup.delay"></stringProp>
            </ThreadGroup>
            <hashTree>
                <HeaderManager guiclass="HeaderPanel" testclass="HeaderManager" testname="HTTP信息头管理器" enabled="true">
                    <collectionProp name="HeaderManager.headers">
                    <#if (data.headers)??>
                        <#list data.headers as head>
                            <elementProp name="${head.key!}" elementType="Header">
                                <stringProp name="Header.name">${head.key!}</stringProp>
                                <stringProp name="Header.value">${head.value!}</stringProp>
                            </elementProp>
                        </#list>
                    </#if>
                    </collectionProp>
                    <stringProp name="TestPlan.comments">Head Template</stringProp>
                </HeaderManager>
                <hashTree/>
                <HTTPSamplerProxy guiclass="HttpTestSampleGui" testclass="HTTPSamplerProxy" testname="HTTP请求"
                                  enabled="true">
                    <elementProp name="HTTPsampler.Arguments" elementType="Arguments" guiclass="HTTPArgumentsPanel"
                                 testclass="Arguments" testname="用户定义的变量" enabled="true">
                        <collectionProp name="Arguments.arguments">
                        <#if (data.urlParams)??>
                            <#list data.urlParams as urlParam>
                                <elementProp name="${urlParam.key!}" elementType="HTTPArgument">
                                    <boolProp name="HTTPArgument.always_encode">false</boolProp>
                                    <stringProp name="Argument.value">${urlParam.value!}</stringProp>
                                    <stringProp name="Argument.metadata">=</stringProp>
                                    <boolProp name="HTTPArgument.use_equals">true</boolProp>
                                    <stringProp name="Argument.name">${urlParam.key!}</stringProp>
                                </elementProp>
                            </#list>
                        </#if>
                        </collectionProp>
                    </elementProp>
                    <stringProp name="HTTPSampler.domain">${data.request.domain!}</stringProp>
                    <stringProp name="HTTPSampler.port">${data.request.port!}</stringProp>
                    <stringProp name="HTTPSampler.protocol">${data.request.protocol!"http"}</stringProp>
                    <stringProp name="HTTPSampler.contentEncoding"></stringProp>
                    <stringProp name="HTTPSampler.path">${data.request.path!}</stringProp>
                    <stringProp name="HTTPSampler.method">${data.request.method!"GET"}</stringProp>
                    <boolProp name="HTTPSampler.follow_redirects">true</boolProp>
                    <boolProp name="HTTPSampler.auto_redirects">false</boolProp>
                    <boolProp name="HTTPSampler.use_keepalive">true</boolProp>
                    <boolProp name="HTTPSampler.DO_MULTIPART_POST">false</boolProp>
                    <stringProp name="HTTPSampler.embedded_url_re"></stringProp>
                    <stringProp name="HTTPSampler.connect_timeout"></stringProp>
                    <stringProp name="HTTPSampler.response_timeout"></stringProp>
                </HTTPSamplerProxy>
                <hashTree/>
            </hashTree>
        </hashTree>
        <WorkBench guiclass="WorkBenchGui" testclass="WorkBench" testname="工作台" enabled="true">
            <boolProp name="WorkBench.save">true</boolProp>
        </WorkBench>
        <hashTree/>
    </hashTree>
</jmeterTestPlan>
